/**************************************************************************************************
**                                                                                               **
**  文件名称:  bsp_runman.h                                                                      **
**  版权所有:  CopyRight @ Xiamen Yaxon NetWork CO.LTD. 2017                                     **
**  文件描述:  系统运行管控模块                                                                  **
**  ===========================================================================================  **
**  创建信息:  | 2017-3-16 | LEON | 创建本模块                                                   **
**  ===========================================================================================  **
**  修改信息:  单击此处添加....                                                                  **
**************************************************************************************************/
#ifndef BSP_RUN_MAN_H
#define BSP_RUN_MAN_H

#include "sys_include.h"

/*************************************************************************************************/
/*                           系统ASSERT接口定义                                                  */
/*************************************************************************************************/
#define SYS_ASSERT(EXPRESSION, retvalue)                      \
do {                                                          \
    if (!(EXPRESSION)) {                                      \
        BSP_SystemReset(SYSRST_INTAL, __FILE__, __LINE__);    \
        return retvalue;                                      \
    }                                                         \
} while(0)

/*************************************************************************************************/
/*                           系统复位接口定义                                                    */
/*************************************************************************************************/
#define SYS_RESET(EVENT)     BSP_SystemReset(EVENT, __FILE__, __LINE__)

void BSP_RunManInit(void);
BOOLEAN BSP_RegistResetInform(void (*fp)(RESET_TYPE_E event, char *file, INT32U line));
void BSP_SystemReset(RESET_TYPE_E event, char *file, INT32U line);

#endif

